<?php

namespace builder\tree_table\util\ttthead;

use builder\helper\Str;

/**
 * 表头序号列
 */
class Number extends TheadColumnOption
{
    /**
     * @var array
     */
    private $_options = [
        'type' => '__number',    // 列类型
        'style' => '',           // 单元格样式
        'fixed' => 'left',       // 固定位置,默认:左侧
        'title' => '',           // 列标题
        'width' => 0,            // 当前列宽度
    ];

    /**
     * @param string $title 列标题
     * @return $this
     */
    public function title($title)
    {
        $this->_options['title'] = Str::escapeCRLF((string)$title);
        return $this;
    }

    /**
     * 固定右侧
     * @return $this
     */
    public function fixedRight()
    {
        $this->_options['fixed'] = 'right';
        return $this;
    }

    /**
     * 不固定列
     * @return $this
     */
    public function fixedNone()
    {
        $this->_options['fixed'] = '';
        return $this;
    }

    /**
     * @param string|int $width 单元格宽度, 支持数字和百分比
     * @return $this
     */
    public function width($width)
    {
        $this->_options['width'] = $width;
        return $this;
    }

    /**
     * @param array|string $style 单元格样式
     * @return $this
     */
    public function style($style)
    {
        $this->_options['style'] = $style;
        return $this;
    }

    /**
     * @return array
     */
    public function _toArray()
    {
        return $this->_options;
    }
}